
#ifndef MouseAndCat_SlaveActor_h
#define MouseAndCat_SlaveActor_h

#include <ApplicationServices/ApplicationServices.h>

#include "MncPoint.h"
#include "Message.h"
#include "Slave.h"
#include "Types.h"

class OsxSlave: public Slave
{   
public:
    OsxSlave(std::string remote_ip, int port, MncPoint screen_size);
    ~OsxSlave();

protected:
    void EnactMouseEvent(abyte event_type, MncPoint point, abyte coordinate_type);
    
private:
    void EnactMouseEvent(CGEventType type, CGPoint point, abyte coordinate_type);
    CGEventType MncEventTypeToOsxEventType(abyte);
};


#endif
